Skip to content

docs: document the Deno install path for the CLI - #3569

Merged
kojiwakayama merged 1 commit into
mainfrom
fix/dx-20260811-b2-6
Aug 11, 2026
Merged

docs: document the Deno install path for the CLI#3569
kojiwakayama merged 1 commit into
mainfrom
fix/dx-20260811-b2-6

Conversation

@kojiwakayama

@kojiwakayama kojiwakayama commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

Found during a DX dogfood walk of the public getting-started docs.

Symptom

docs/getting-started/installation.md lists Deno 2.2 or later as a
supported runtime and offers deno add npm:veryfront for project installs,
but Deno then disappears from the rest of the page:

  • New scaffolded projectnpm / pnpm / yarn / bun tabs, no deno
    tab (even though create-project.md already documents deno init --npm veryfront).
  • Install the CLI### npm / ### pnpm / ### yarn / ### bun, no
    ### deno.

So a Deno user following the page literally has no documented way to get a
global veryfront binary. The only Deno CLI-install instruction anywhere in
the workspace pointed at jsr:@veryfront/veryfront, which does not exist:

$ curl -s -o /dev/null -w '%{http_code}' https://jsr.io/@veryfront/veryfront
404
$ deno install -gArf jsr:@veryfront/veryfront
Download https://jsr.io/@veryfront/veryfront/meta.json
error: JSR package not found: @veryfront/veryfront

Root cause

The CLI is published to npm only — deno.json declares the unscoped name
veryfront, so no @veryfront/veryfront JSR package exists or could exist.
The working Deno install path goes through Deno's npm: specifier, and that
one line was simply never added to the installation guide when the Deno tab
was added to the "Blank or existing project" CodeGroup.

Verified against the published 0.1.1228 release, in a sandbox outside the
repo with DENO_INSTALL_ROOT pointed at a scratch directory:

$ deno install -gArf npm:veryfront
+ npm:veryfront 0.1.1228
✅ Successfully installed veryfront
$ veryfront --version
  ● Veryfront CLI v0.1.1228

The caveat in the new subsection is also reproduced, not inferred. deno install -g writes a shim that runs deno run npm:veryfront, and Deno
resolves that bare specifier against the nearest package.json /
node_modules walking up from the current working directory — so the
shim's own pinned version is bypassed inside a project that depends on
veryfront:

$ cd /tmp/sb/empty  && veryfront --version   # ● Veryfront CLI v0.1.1228
$ cd /tmp/sb/pinned && veryfront --version   # ● Veryfront CLI v0.1.1226

(/tmp/sb/pinned pins veryfront@0.1.1226 in package.json; the binary
invoked is the same absolute path in both runs.) Without that note, a Deno
user reasonably concludes the global install silently failed.

Fix

Two additions to docs/getting-started/installation.md:

  1. deno init --npm veryfront in the "New scaffolded project" CodeGroup,
    matching the Deno tab already documented in create-project.md.
  2. A ### deno subsection with deno install -gArf npm:veryfront and the
    cwd-resolution caveat.

No code changes. The related half of this report — the CLI's own update
banner telling users to run deno install -gArf jsr:@veryfront/veryfront
was already fixed by #3524 (cli/shared/update-check.ts now points at
https://registry.npmjs.org/veryfront/latest and prints
npm install -g veryfront@latest), which shipped in 0.1.1228. The walker
saw the old banner from a stale 0.1.1019 binary resolved out of a
node_modules tree above its cwd — the same cwd-resolution mechanism
described above.

Regression test

tests/docs/guide-content.test.ts — "gives Deno an install path on every
surface the installation guide offers".

It lives there because that file already owns the installation guide's
runtime-support contract: the adjacent test ("states the supported runtime
floors in the getting-started docs") is what asserts the page's Deno 2.2 or later claim in the first place. Asserting that the claim comes with a usable
install path belongs directly beside the claim itself, and the file is
filesystem-only so it stays cheap. The test also asserts the page never
reintroduces jsr:@veryfront/veryfront.

Confirmed failing before the fix, for the right reason:

guide content contracts ... gives Deno an install path on every surface the installation guide offers => FAILED
  ... to contain: "### deno".
FAILED | 0 passed (21 steps) | 1 failed (1 step)

Green after: deno task docs:validate passes end to end (48 guide-contract
tests, 1226 doc links OK), and the full pre-push suite passed.

Note: docs/getting-started/** is the source of truth — .github/workflows/sync-docs.yml
dispatches to veryfront/veryfront-docs on merge, so the public page picks
this up automatically. No change was made in veryfront-docs.

Summary by CodeRabbit

  • Documentation

    • Added Deno installation instructions for creating a scaffolded project and installing the Veryfront CLI.
    • Clarified npm-only publication, Deno’s npm: package resolution, and checking the globally installed CLI version.
  • Tests

    • Added documentation checks to verify Deno installation guidance remains complete and avoids referencing an unavailable JSR package.

@coderabbitai

coderabbitai Bot commented Aug 11, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 5e9458e4-dcd3-4fe9-a5ef-46497c7f548e

📥 Commits

Reviewing files that changed from the base of the PR and between 06bbb6c and cdec940.

📒 Files selected for processing (1)
  • tests/docs/guide-content.test.ts
🚧 Files skipped from review as they are similar to previous changes (1)
  • tests/docs/guide-content.test.ts

📝 Walkthrough

Walkthrough

The installation guide adds Deno commands for project scaffolding and global CLI installation. A documentation test validates the guidance and rejects the nonexistent JSR package.

Changes

Deno installation guidance

Layer / File(s) Summary
Deno project scaffolding
docs/getting-started/installation.md
Adds the Deno command for creating a Veryfront project with npm package support.
Deno CLI installation and validation
docs/getting-started/installation.md, tests/docs/guide-content.test.ts
Documents global CLI installation and version resolution. Tests validate the Deno instructions and reject the nonexistent JSR package.

Estimated code review effort: 1 (Trivial) | ~5 minutes

Possibly related PRs

Suggested reviewers: kwakayama

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes the main documentation change: adding the Deno installation path for the CLI.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/dx-20260811-b2-6

Comment @coderabbitai help to get the list of available commands.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: cae7bfb53b

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread docs/getting-started/installation.md
@kojiwakayama

Copy link
Copy Markdown
Contributor Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Aug 11, 2026

Copy link
Copy Markdown
⚠️ Action not completed

Review rate limited.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@kojiwakayama

Copy link
Copy Markdown
Contributor Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Aug 11, 2026

Copy link
Copy Markdown
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@docs/getting-started/installation.md`:
- Line 101: Update the Deno heading to sentence-case capitalization in
docs/getting-started/installation.md:101-101, changing it to “### Deno”. Update
the corresponding expected heading in tests/docs/guide-content.test.ts:369-369
to “### Deno”.
🪄 Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro Plus

Run ID: f9e5894f-8112-4f69-b288-ee0b7f328925

📥 Commits

Reviewing files that changed from the base of the PR and between 7b25cb7 and 06bbb6c.

📒 Files selected for processing (2)
  • docs/getting-started/installation.md
  • tests/docs/guide-content.test.ts

Comment thread docs/getting-started/installation.md
The installation guide lists Deno 2.2 or later as a supported runtime and
offers `deno add npm:veryfront` for project installs, but neither the
"New scaffolded project" CodeGroup nor the "Install the CLI" section had a
Deno entry. A Deno user following the page had no documented way to get a
global `veryfront` binary, and the only Deno install instruction anywhere
in the workspace pointed at `jsr:@veryfront/veryfront`, which 404s -- the
CLI is published to npm only.

Add the two missing entries, both verified against the published 0.1.1228
release:

- `deno init --npm veryfront` in the scaffolding CodeGroup, matching the
  Deno tab already documented in create-project.md.
- A `### deno` subsection with `deno install -gArf npm:veryfront`, plus the
  caveat that Deno resolves the bare `npm:` specifier from the current
  working directory, so the global binary reports a project's pinned
  version when run inside that project.
@kojiwakayama
kojiwakayama added this pull request to the merge queue Aug 11, 2026
Merged via the queue into main with commit 0d36976 Aug 11, 2026
33 checks passed
@kojiwakayama
kojiwakayama deleted the fix/dx-20260811-b2-6 branch August 11, 2026 13:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant